package com.smallyang.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.smallyang.domain.ResponseResult;
import com.smallyang.domain.dto.AddArticleDto;
import com.smallyang.domain.dto.ArticleDto;
import com.smallyang.domain.entity.Article;
import com.smallyang.domain.vo.ArticleVo;
import com.smallyang.domain.vo.BarVo;
import com.smallyang.domain.vo.PageVo;
import com.smallyang.domain.vo.PieVo;

import java.util.List;

/**
 * @author 杨森
 * @description:
 * @date 2023年05月12日 8:49
 */
public interface ArticleService extends IService<Article> {
    ResponseResult hotArticleList();

    ResponseResult articleList(Integer pageNum, Integer pageSize, Long categoryId);

    ResponseResult getArticleDetail(Long id);

    ResponseResult updateViewCount(Long id);

    ResponseResult add(AddArticleDto article);

    PageVo selectArticlePage(Article article, Integer pageNum, Integer pageSize);

    ArticleVo getInfo(Long id);

    void updateArticle(ArticleDto updateArticle);

    ResponseResult deleteArticle(List<Long> id);

    BarVo  barVoList();

    List<PieVo> pieVoList();
}
